const userRelations = {
  '入职日期': 'timeOfEntry',
  '手机号': 'mobile',
  '姓名': 'username',
  '转正日期': 'correctionTime',
  '工号': 'workNumber',
  '部门': 'departmentName',
  '聘用形式': 'formOfEmployment'
}

// 把excel文件中的日期格式的内容转回成标准时间
// https://blog.csdn.net/qq_15054679/article/details/107712966
// 44892 ----> 标准时间
function formatExcelDate(numb, format = '/') {
  const time = new Date((numb - 25567) * 24 * 3600000 - 5 * 60 * 1000 - 43 * 1000 - 24 * 3600000 - 8 * 3600000)
  time.setYear(time.getFullYear())
  const year = time.getFullYear() + ''
  const month = time.getMonth() + 1 + ''
  const date = time.getDate() + ''
  if (format && format.length === 1) {
    return year + format + month + format + date
  }
  return year + (month < 10 ? '0' + month : month) + (date < 10 ? '0' + date : date)
}

const initData = [
  { '姓名': '小李', '手机号': '13800000512', '入职日期': '123456', '转正日期': '450123', '工号': '9002', '部门': '总裁办' },
  { '姓名': '张三', '手机号': '12345678911', '入职日期': '123632', '转正日期': '478965', '工号': '9012', '部门': '总裁办' }
]

// 1. 把中文属性名换成英文的 '姓名' : '小李' ---> 'username': '小李'
// 2. 把excel中日期的部分转成标准时间： 44506 ---> '2021-5-22 00:00:00'

function trans(initData) {
  return initData.map(item => {
    // item => {}
    const obj = {}
    // 1. 把item中所有的属性找出，依次给obj赋值
    const chKeys = Object.keys(item) // ['姓名', '手机号', '入职日期', '工号']
    chKeys.forEach(chKey => {
      const enKey = userRelations[chKey] // 对应的英文名
      // console.log(enKey)
      if (['correctionTime', 'timeOfEntry'].includes(enKey)) {
        obj[enKey] = formatExcelDate(item[chKey])
      } else {
        obj[enKey] = item[chKey]
      }
    // console.log(obj)
    })

    return obj
  })
}

// trans(initData)
console.log(trans(initData))
